package com.zhoug.ocr.textin.data.bill;

import com.google.gson.annotations.SerializedName;
import com.zhoug.ocr.textin.data.Product;

import java.util.List;

/**
 * 增值税发票
 * @Author: zhoug
 * @Date: 2023/2/13
 * @Description:
 */
public class VatInvoice extends BaseBill {
    @SerializedName(value = "invoiceName", alternate = {"InvoiceTypeOrg"})
    private String invoiceName;//发票名称
    @SerializedName(value = "invoiceType", alternate = {"vat_invoice_type"})
    private String invoiceType;//发票类型 增值税发票
    @SerializedName(value = "invoiceCode", alternate = {"vat_invoice_daima"})
    private String invoiceCode;//发票代码
    @SerializedName(value = "invoiceNo", alternate = {"vat_invoice_haoma"})
    private String invoiceNo;//发票号码
    @SerializedName(value = "invoiceData", alternate = {"vat_invoice_issue_date"})
    private String invoiceData;//开票日期
    @SerializedName(value = "checkCode", alternate = {"vat_invoice_correct_code"})
    private String checkCode;//校验码
    @SerializedName(value = "machineCode", alternate = {"vat_invoice_machine_no"})
    private String machineCode;//机器编号
    @SerializedName(value = "password", alternate = {"vat_invoice_cipher_field"})
    private String password;//密码区
    @SerializedName(value = "amountInFiguers", alternate = {"vat_invoice_total_cover_tax_digits"})
    private String amountInFiguers;//价税合计(小写)
    @SerializedName(value = "amountInWords", alternate = {"vat_invoice_total_cover_tax"})
    private String amountInWords;//价税合计(大写)
    @SerializedName(value = "totalAmount", alternate = {"vat_invoice_total"})
    private String totalAmount;//合计金额
    @SerializedName(value = "totalTax", alternate = {"vat_invoice_tax_total"})
    private String totalTax;//合计税额
    @SerializedName(value = "purchaserName", alternate = {"vat_invoice_payer_name"})
    private String purchaserName;//购买方名称
    @SerializedName(value = "purchaserRegisterNum", alternate = {"vat_invoice_rate_payer_id"})
    private String purchaserRegisterNum;//购买方纳税人识别号
    @SerializedName(value = "purchaserAddressAndPhone", alternate = {"vat_invoice_payer_addr_tell"})
    private String purchaserAddressAndPhone;//购买方地址、电话
    @SerializedName(value = "purchaserBank", alternate = {"vat_invoice_payer_bank_account"})
    private String purchaserBank;//购买方开户行及账号
    @SerializedName(value = "sellerName", alternate = {"vat_invoice_seller_name"})
    private String sellerName;//销售方名称
    @SerializedName(value = "sellerRegisterNum", alternate = {"vat_invoice_seller_id"})
    private String sellerRegisterNum;//销售方纳税人识别号
    @SerializedName(value = "sellerAddressAndPhone", alternate = {"vat_invoice_seller_addr_tell"})
    private String sellerAddressAndPhone;//销售方地址、电话
    @SerializedName(value = "sellerBank", alternate = {"vat_invoice_seller_bank_account"})
    private String sellerBank;//销售方开户行及账号
    @SerializedName(value = "payee", alternate = {"vat_invoice_payee"})
    private String payee;//收款人
    @SerializedName(value = "checker", alternate = {"vat_invoice_review"})
    private String checker;//复核
    @SerializedName(value = "noteDrawer", alternate = {"vat_invoice_drawer"})
    private String noteDrawer;//开票人
    @SerializedName(value = "remarks", alternate = {"vat_invoice_total_note"})
    private String remarks;//备注
    @SerializedName(value = "existInvoiceSeal", alternate = {"exist_invoice_seal"})
    private String existInvoiceSeal;//发票专用章
    @SerializedName(value = "subType", alternate = {"sub_type"})
    private String subType;//子类型 非通用电子发票
    @SerializedName(value = "products", alternate = {"productList"})
    private List<Product> products;//货物或应税劳务、服务名称

    public String getInvoiceName() {
        return invoiceName;
    }

    public void setInvoiceName(String invoiceName) {
        this.invoiceName = invoiceName;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public String getInvoiceData() {
        return invoiceData;
    }

    public void setInvoiceData(String invoiceData) {
        this.invoiceData = invoiceData;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public String getMachineCode() {
        return machineCode;
    }

    public void setMachineCode(String machineCode) {
        this.machineCode = machineCode;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getAmountInFiguers() {
        return amountInFiguers;
    }

    public void setAmountInFiguers(String amountInFiguers) {
        this.amountInFiguers = amountInFiguers;
    }

    public String getAmountInWords() {
        return amountInWords;
    }

    public void setAmountInWords(String amountInWords) {
        this.amountInWords = amountInWords;
    }

    public String getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(String totalAmount) {
        this.totalAmount = totalAmount;
    }

    public String getTotalTax() {
        return totalTax;
    }

    public void setTotalTax(String totalTax) {
        this.totalTax = totalTax;
    }

    public String getPayee() {
        return payee;
    }

    public void setPayee(String payee) {
        this.payee = payee;
    }

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker;
    }

    public String getNoteDrawer() {
        return noteDrawer;
    }

    public void setNoteDrawer(String noteDrawer) {
        this.noteDrawer = noteDrawer;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public List<Product> getProducts() {
        return products;
    }

    public void setProducts(List<Product> products) {
        this.products = products;
    }

    public String getPurchaserName() {
        return purchaserName;
    }

    public void setPurchaserName(String purchaserName) {
        this.purchaserName = purchaserName;
    }

    public String getPurchaserRegisterNum() {
        return purchaserRegisterNum;
    }

    public void setPurchaserRegisterNum(String purchaserRegisterNum) {
        this.purchaserRegisterNum = purchaserRegisterNum;
    }

    public String getPurchaserAddressAndPhone() {
        return purchaserAddressAndPhone;
    }

    public void setPurchaserAddressAndPhone(String purchaserAddressAndPhone) {
        this.purchaserAddressAndPhone = purchaserAddressAndPhone;
    }

    public String getPurchaserBank() {
        return purchaserBank;
    }

    public void setPurchaserBank(String purchaserBank) {
        this.purchaserBank = purchaserBank;
    }

    public String getSellerName() {
        return sellerName;
    }

    public void setSellerName(String sellerName) {
        this.sellerName = sellerName;
    }

    public String getSellerRegisterNum() {
        return sellerRegisterNum;
    }

    public void setSellerRegisterNum(String sellerRegisterNum) {
        this.sellerRegisterNum = sellerRegisterNum;
    }

    public String getSellerAddressAndPhone() {
        return sellerAddressAndPhone;
    }

    public void setSellerAddressAndPhone(String sellerAddressAndPhone) {
        this.sellerAddressAndPhone = sellerAddressAndPhone;
    }

    public String getSellerBank() {
        return sellerBank;
    }

    public void setSellerBank(String sellerBank) {
        this.sellerBank = sellerBank;
    }

    public String getExistInvoiceSeal() {
        return existInvoiceSeal;
    }

    public void setExistInvoiceSeal(String existInvoiceSeal) {
        this.existInvoiceSeal = existInvoiceSeal;
    }

    public String getSubType() {
        return subType;
    }

    public void setSubType(String subType) {
        this.subType = subType;
    }
}
